home *** CD-ROM | disk | FTP | other *** search
- property pSpr, pDigit, pDecimal, pOldDigit, pNewDigit
-
- on beginSprite me
- global gPlayerTips
- pSpr = sprite(me.spriteNum)
- mUpdate(me, gPlayerTips, 1)
- end
-
- on mUpdate me, newPrice, silent
- if newPrice < 1000 then
- displayTips = integer(newPrice * 100)
- else
- displayTips = integer(newPrice)
- end if
- newPrice = string(displayTips)
- repeat while length(newPrice) < pDigit
- put "0" before me
- end repeat
- newChar = newPrice.char[length(newPrice) + 1 - pDigit]
- pNewDigit = integer(newChar)
- pOldDigit = integer(pSpr.member.name)
- if silent then
- pOldDigit = pNewDigit
- pSpr.member = member(string(pNewDigit))
- else
- addToActorList(pSpr)
- end if
- end
-
- on endSprite me
- removeFromActorList(pSpr)
- end
-
- on stepFrame me
- global gRegisterBell, gStartRegisterSpr, gEndRegisterSpr
- if inMenuMode() then
- exit
- end if
- if pOldDigit < pNewDigit then
- pSpr.member = member("Scrolling" && min(8, pOldDigit + 1))
- pOldDigit = pOldDigit + 1
- else
- if pOldDigit > pNewDigit then
- pSpr.member = member("Scrolling" && max(1, pOldDigit - 1))
- pOldDigit = pOldDigit - 1
- else
- pSpr.member = member(string(pNewDigit))
- removeFromActorList(pSpr)
- repeat with X = gStartRegisterSpr to gEndRegisterSpr
- if onActorList(sprite(X)) then
- exit
- end if
- end repeat
- if onActorList(gRegisterBell) then
- exit
- end if
- gTipPending = 0
- if beyondMaxTips() then
- endOfLevel()
- end if
- end if
- end if
- end
-
- on getPropertyDescriptionList me
- return [#pDecimal: [#format: #boolean, #default: 0, #comment: "Decimal?"], #pDigit: [#format: #integer, #range: [#min: 1, #max: 5], #comment: "Digit from right", #default: 1]]
- end
-